﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;

namespace ShivamEMR.Model.Domain.AccountsDomain
{
   public class AccountsVoucher
    {

        #region Properties
        public Guid ID { get; set; }
        public string Title { get; set; }
        public DateTime DateAndTime { get; set; }
        public DateTime  PostingDateAndTime { get; set; }
        public string ReferenceDetails { get; set; }
        public string Notes { get; set; }
        #endregion

        #region ForeignKeyProperties
        public int AccountsVoucherTypeID { get; set; }
        public int FinancialYearID { get; set; }
       // public Guid DebitAccountID { get; set; }
      //  public Guid CreditAccountID { get; set; }
        public Guid PaymentID { get; set; }
        public Guid AccountsPictureID { get; set; } 
        #endregion

        #region NavigationalProperties
       [ForeignKey("AccountsVoucherTypeID")]
        public virtual AccountsVoucherType VoucherType { get; set; }
       [ForeignKey("FinancialYearID")]
        public virtual FinancialYear FinancialYear { get; set; }
      // [ForeignKey("DebitAccountID")]
      //  public virtual Account DebitAccount { get; set; }
     //  [ForeignKey("CreditAccountID")]
     //   public virtual Account CreditAccount { get; set; }
        [ForeignKey("PaymentID")]
        public virtual Payment Payment { get; set; }
       [ForeignKey("AccountsPictureID")]
        public virtual AccountsPicture ReferencePicture { get; set; }
       public virtual ICollection<AccountsTransaction> Transactions { get; set; }
        #endregion
    }
}
